package com.rc.saas.tenant.model.member;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rc.saas.tenant.base.BaseModel;
import com.rc.saas.tenant.vo.member.MemberStatusConverter;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

public class MemberInfo extends BaseModel {
    @ExcelProperty(value = "用户ID",index = 0)
    private Long memberId;
    @ExcelIgnore
    private String tenantCode;
    @ExcelProperty(value = "推荐人ID",index = 2)
    private Long recommenderId;
    @ExcelIgnore
    private String memberType;
    @ExcelIgnore
    private String memberSource;
    @ExcelIgnore
    private String wechatOriginalid;
    @ExcelIgnore
    private String wechatUnionid;
    @ExcelIgnore
    private String wechatOpenid;
    @ExcelIgnore
    private String minipOriginalid;
    @ExcelIgnore
    private String minipOpenid;
    @ExcelIgnore
    private String aliUserId;
    @ExcelIgnore
    private String password;
    @ExcelIgnore
    private String cardNo;
    @ExcelIgnore
    private String headImg;
    @ExcelIgnore
    private String nickname;

    @ExcelProperty(value = "姓名",index = 1)
    private String nickname2;
    @ExcelProperty(value = "手机号",index = 4)
    private String mobile;
    @ExcelIgnore
    private String sex;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private Date birthday;
    @ExcelIgnore
    private String job;
    @ExcelIgnore
    private String provinceId;
    @ExcelIgnore
    private String cityId;
    @ExcelIgnore
    private String areaId;
    @ExcelIgnore
    private String address;
    @ExcelIgnore
    private String carBrand;
    @ExcelIgnore
    private String carType;
    @ExcelIgnore
    private String carArea;
    @ExcelIgnore
    private String carLetter;
    @ExcelIgnore
    private String carNumber;
    @ExcelIgnore
    private String memberCarTag;
    @ExcelIgnore
    private String companyName;
    @ExcelIgnore
    private String companyImg;
    @ExcelIgnore
    private String companyAddress;
    @ExcelIgnore
    private Integer chargeCountLimit;
    @ExcelIgnore
    private Long enterpriseMemberId;
    @ExcelIgnore
    private Long belongEnterpriseId;
    @ExcelIgnore
    private String chargeStatus;
    @ExcelIgnore
    private String chargeType;
    @ExcelIgnore
    private BigDecimal multChargePrice;
    @ExcelIgnore
    private Integer limitSoc;
    @ExcelIgnore
    private String remark;

    @ExcelProperty(value = "状态",converter = MemberStatusConverter.class,index = 11)
    private String status;
    @ExcelIgnore
    private Date lastCustomMsgTime;
    @ExcelIgnore
    private Date lastPlatformMsgTime;
    @ExcelIgnore
    private Date memberLastUpdatedTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "注册时间",index = 9)
    private Date registerTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "最近登陆时间",index = 10)
    private Date lastLoginTime;
    @ExcelIgnore
    private Long migrateId;
    @ExcelIgnore
    private String createdBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private Date createdTime;
    @ExcelIgnore
    private String lastUpdatedBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private Date lastUpdatedTime;

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getTenantCode() {
        return tenantCode;
    }

    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    public Long getRecommenderId() {
        return recommenderId;
    }

    public void setRecommenderId(Long recommenderId) {
        this.recommenderId = recommenderId;
    }

    public String getMemberType() {
        return memberType;
    }

    public void setMemberType(String memberType) {
        this.memberType = memberType;
    }

    public String getMemberSource() {
        return memberSource;
    }

    public void setMemberSource(String memberSource) {
        this.memberSource = memberSource;
    }

    public String getWechatOriginalid() {
        return wechatOriginalid;
    }

    public void setWechatOriginalid(String wechatOriginalid) {
        this.wechatOriginalid = wechatOriginalid;
    }

    public String getWechatUnionid() {
        return wechatUnionid;
    }

    public void setWechatUnionid(String wechatUnionid) {
        this.wechatUnionid = wechatUnionid;
    }

    public String getWechatOpenid() {
        return wechatOpenid;
    }

    public void setWechatOpenid(String wechatOpenid) {
        this.wechatOpenid = wechatOpenid;
    }

    public String getMinipOriginalid() {
        return minipOriginalid;
    }

    public void setMinipOriginalid(String minipOriginalid) {
        this.minipOriginalid = minipOriginalid;
    }

    public String getMinipOpenid() {
        return minipOpenid;
    }

    public void setMinipOpenid(String minipOpenid) {
        this.minipOpenid = minipOpenid;
    }

    public String getAliUserId() {
        return aliUserId;
    }

    public void setAliUserId(String aliUserId) {
        this.aliUserId = aliUserId;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    public String getHeadImg() {
        return headImg;
    }

    public void setHeadImg(String headImg) {
        this.headImg = headImg;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getNickname2() {
        return nickname2;
    }

    public void setNickname2(String nickname2) {
        this.nickname2 = nickname2;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public String getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(String provinceId) {
        this.provinceId = provinceId;
    }

    public String getCityId() {
        return cityId;
    }

    public void setCityId(String cityId) {
        this.cityId = cityId;
    }

    public String getAreaId() {
        return areaId;
    }

    public void setAreaId(String areaId) {
        this.areaId = areaId;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getCarBrand() {
        return carBrand;
    }

    public void setCarBrand(String carBrand) {
        this.carBrand = carBrand;
    }

    public String getCarType() {
        return carType;
    }

    public void setCarType(String carType) {
        this.carType = carType;
    }

    public String getCarArea() {
        return carArea;
    }

    public void setCarArea(String carArea) {
        this.carArea = carArea;
    }

    public String getCarLetter() {
        return carLetter;
    }

    public void setCarLetter(String carLetter) {
        this.carLetter = carLetter;
    }

    public String getCarNumber() {
        return carNumber;
    }

    public void setCarNumber(String carNumber) {
        this.carNumber = carNumber;
    }

    public String getMemberCarTag() {
        return memberCarTag;
    }

    public void setMemberCarTag(String memberCarTag) {
        this.memberCarTag = memberCarTag;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getCompanyImg() {
        return companyImg;
    }

    public void setCompanyImg(String companyImg) {
        this.companyImg = companyImg;
    }

    public String getCompanyAddress() {
        return companyAddress;
    }

    public void setCompanyAddress(String companyAddress) {
        this.companyAddress = companyAddress;
    }

    public Integer getChargeCountLimit() {
        return chargeCountLimit;
    }

    public void setChargeCountLimit(Integer chargeCountLimit) {
        this.chargeCountLimit = chargeCountLimit;
    }

    public Long getEnterpriseMemberId() {
        return enterpriseMemberId;
    }

    public void setEnterpriseMemberId(Long enterpriseMemberId) {
        this.enterpriseMemberId = enterpriseMemberId;
    }

    public Long getBelongEnterpriseId() {
        return belongEnterpriseId;
    }

    public void setBelongEnterpriseId(Long belongEnterpriseId) {
        this.belongEnterpriseId = belongEnterpriseId;
    }

    public String getChargeStatus() {
        return chargeStatus;
    }

    public void setChargeStatus(String chargeStatus) {
        this.chargeStatus = chargeStatus;
    }

    public String getChargeType() {
        return chargeType;
    }

    public void setChargeType(String chargeType) {
        this.chargeType = chargeType;
    }

    public BigDecimal getMultChargePrice() {
        return multChargePrice;
    }

    public void setMultChargePrice(BigDecimal multChargePrice) {
        this.multChargePrice = multChargePrice;
    }

    public Integer getLimitSoc() {
        return limitSoc;
    }

    public void setLimitSoc(Integer limitSoc) {
        this.limitSoc = limitSoc;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getLastCustomMsgTime() {
        return lastCustomMsgTime;
    }

    public void setLastCustomMsgTime(Date lastCustomMsgTime) {
        this.lastCustomMsgTime = lastCustomMsgTime;
    }

    public Date getLastPlatformMsgTime() {
        return lastPlatformMsgTime;
    }

    public void setLastPlatformMsgTime(Date lastPlatformMsgTime) {
        this.lastPlatformMsgTime = lastPlatformMsgTime;
    }

    public Date getMemberLastUpdatedTime() {
        return memberLastUpdatedTime;
    }

    public void setMemberLastUpdatedTime(Date memberLastUpdatedTime) {
        this.memberLastUpdatedTime = memberLastUpdatedTime;
    }

    public Date getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

    public Date getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public Long getMigrateId() {
        return migrateId;
    }

    public void setMigrateId(Long migrateId) {
        this.migrateId = migrateId;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public Date getLastUpdatedTime() {
        return lastUpdatedTime;
    }

    public void setLastUpdatedTime(Date lastUpdatedTime) {
        this.lastUpdatedTime = lastUpdatedTime;
    }
}
